Service Data Objects (SDO)
Service Data Objects (SDO) establishes a peer-to-peer connection between two CANopen devices. This connection is based on a client/server mechanism.
-
The SDO server is the device that hosts the object dictionary and requires access.
-
The SDO client is the device that wants to access the object dictionary of a specific device.
The SDO service is based on two CAN messages with different identifiers. The first message is used by the SDO client and the second message is used by the SDO server.
There are two methods for SDO download/upload:
-
Expedited transfer: For objects less than or equal to 4 bytes.
-
Segmented transfer: For objects longer than 4 bytes.
COB_ID |
B0 |
B1 |
B2 |
B3 |
B4 |
B5 |
B6 |
B7 |
---|---|---|---|---|---|---|---|---|
600H+NodeID |
ccs/cntrl |
Object Index |
SubIndex |
Data (Optional) |
COB_ID |
B0 |
B1 |
B2 |
B3 |
B4 |
B5 |
B6 |
B7 |
---|---|---|---|---|---|---|---|---|
580H+NodeID |
scs/cntrl |
Object Index |
SubIndex |
Data (Optional) |
Examples
COB_ID |
B0 |
B1 |
B2 |
B3 |
B4 |
B5 |
B6 |
B7 |
---|---|---|---|---|---|---|---|---|
600H+NodeID |
22H |
Index |
SubIndex |
Value |
COB_ID |
B0 |
B1 |
B2 |
B3 |
B4 |
B5 |
B6 |
B7 |
---|---|---|---|---|---|---|---|---|
580H+NodeID |
60H |
Reserved |
COB_ID |
B0 |
B1 |
B2 |
B3 |
B4 |
B5 |
B6 |
B7 |
---|---|---|---|---|---|---|---|---|
600H+NodeID |
40H |
Index |
SubIndex |
Reserved |
COB_ID |
B0 |
B1 |
B2 |
B3 |
B4 |
B5 |
B6 |
B7 |
---|---|---|---|---|---|---|---|---|
580H+NodeID |
43H |
Index |
SubIndex |
Value |